ssize_t rio_readlineb(rio_t *rp,void *usrbuf,size_t maxlen)
{
int n,rc;
char c,*bufp = usrbuf;
for(n=1;n<maxlen;n++)
{
if ((rc = rio_read(rp,&c,1))==1)
{   
*bufp++ = c;
if (c== '\n')
break;
}
else if
{
if (n ==1 )
return 0;
else
break;
}
else
return -1;
}
*bufp  = 0;
return n;
}
